1. Technical Field
The present invention relates in general to data processing systems, and more particularly, to the configuration of data processing systems. Still more particularly, the present invention relates to a system and method for identifying optimum configurations within data processing systems.
2. Description of the Related Art
The peripheral component interconnect (PCI) specification introduced by Intel Corporation defines a high-performance local bus architecture that supports the installation of PCI-compliant expansion cards. The PCI standard has evolved over a period of years to support a wide assortment of system and hardware component capabilities. “Hardware components” are herein defined as any part of a data processing system and may include data storage devices, communication devices, etc. “Hardware adapters” are hardware components implemented on an adapter card installed on an expansion slot. Hardware adapters can usually be easily moved or replaced while other hardware components may be permanently coupled (soldered) to the data processing system.
Whereas the original PCI bus standard, herein referred to as “conventional mode,” limits bus clock frequency either to 33 MHz or 66 MHz, newer PCI-X hardware adapters, operating in “PCI-X mode,” are capable of bus communication at 66 MHz or 133 MHz. Available PCI-compatible hardware adapters support either 32-bit wide and 64-bit wide versions of the PCI bus and operate at a variety of supply voltages (e.g., 3.3 V and 5V). Future expansions and revisions of the PCI architecture may include higher supported clock speeds, wider buses, or double-data rate modes of operation, which will result in an even wider array of possible system configurations.
Despite the wide array of implementations, compatibility has been maintained between devices implementing different versions of the PCI bus specification. For example, PCI buses are programmed to operate at the fastest common speed or mode that all hardware components on the bus can support. Hardware components restrict their speed or mode in the presence of buses or hardware components that are not capable of faster operation. In general, hardware components having different characteristics that are coupled to the same PCI bus will function properly, but the performance of the faster hardware components will be degraded due to the lower bus frequency dictated by the slower hardware components. “System performance” or “performance” is herein defined as the throughput of a data processing system or the total number of users the data processing system can currently support.
The performance of hardware devices on the PCI buses within the system is a key factor in the overall performance of the system. Accordingly, the present invention recognizes that configurations that prevent devices from operating at their maximum capability should be avoided. For example, careless placement of a hardware adapter (e.g., mismatching speeds by placing a 33 MHz hardware adapter on a 133 MHz bus or mixing modes by placing a conventional mode hardware adapter on a PCI-X mode bus) may result in significant performance degradation. A data processing system continues to function despite the less-than-optimum hardware component configuration, so problems with the configuration may only be evident during special circumstances (e.g., intervals of peak demand of the data processing system resources).
Consequently, since system administrators and other computer users are typically not experts on PCI bus specifications, there is a growing demand for a system and method for identifying less-than-optimum configurations and recommending alternate configurations better optimized for system performance.